package com.springcloud.sc.ucpv5.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.springcloud.sc.ucp.v5.api.vo.GroupDO;
import com.springcloud.sc.ucp.v5.api.vo.NodeDO;
import com.springcloud.sc.ucp.v5.api.vo.UserInfoDO;
import com.springcloud.sc.ucpv5.client.commondata.MyGroup;
import com.springcloud.sc.ucpv5.tree.data.WebTreeNode;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public interface UcpService {
    WebTreeNode getWebListTree(String id);
    List<WebTreeNode> getWebListTreeOwnGroup(String id);
    WebTreeNode getWebLimitTree(Map<String, Object> params , String userId);
    List getNodeTree(Map<String, Object> params , String userId);
    Page findListById(Map<String, Object> params , String userId);
    Page findListById(Map<String, Object> params , String userId, boolean withChild);
    String saveNode(NodeDO nodeDO);
    void updateNode(NodeDO nodeDO);
    String saveGroup(GroupDO groupDO);
    void updateGroup(GroupDO groupDO);
    boolean DistributionGroup(Map<String, Object> params);
    String saveUserInfo(UserInfoDO userInfoDO );
    boolean updateUserInfo(UserInfoDO userInfoDO );
    boolean deleteUserInfo(String userId );
    void deleteNode(String nodeId);
    boolean deleteGroup(String groupId);
    boolean delete(Map<String, Object> params , String uid);
    NodeDO getNode(Map<String, Object> params);
    GroupDO getGroup(Map<String, Object> params);
    UserInfoDO getUser(Map<String, Object> params);
    String getUserInfoListTreeByGroupNumber(String groupNumber);
    void startBranchs(Boolean bool , MyGroup myGroup);
    void getAllUserInfoListTreeByGroup();
    List getUserByGroupNumber(String groupNumber);
    List getUserListByGroupNumber(String groupNumber);
    List getUserListByUserNumber(String userNumber);
}
